/** \mainpage Documentation du code du projet MiaStore
 *
 * \section intro_sec Introduction
 * Le projet MiaStore a pour objectif de développer une application de
 * e-commerce en C, en saisie interactive avec un utilisateur à partir d'une
 * console. Ce projet est le fruit du travail des L2 MIA 2009-2010 de
 * l'université Paris Ouest.
 *
 * \section prog_sec Programme principal
 * Le programme principal dans main.c est le point d'entrée de l'application.
 * Il invoque seulement le menu principal. Il ne doit pas contenir
 * de code complexe, qui doit etre écrit dans d'autres fichiers dédiés.
 */


#include <stdio.h>
#include <stdlib.h>
#include "test_commande.h"
#include "test_date.h"
#include "test_stock.h"
#include "tests.def"
#include "test_liste_produit.h"
#include "test_facturationFM.h"
#include "menu_principal.h"

/**
 * Programme principal de Miastore.
 * Les tests peuvent être activés par les macros placés dans tests.def.
 */
int main(int argc, char** argv) {
#ifdef TEST_DATE
    /*Code de lancement des tests sur date */
    tester_date();
#endif
#ifdef TEST_COMMANDE
    /*Code de lancement des tests sur commande à placer dans ce bloc.*/
    tester_commande();
#endif
#if defined(TEST_STOCK) || defined(ALT_STOCK)
    /*Code de lancement des tests sur stock */
    tests_stock();
#endif
#ifdef TEST_PRODUIT
    /*Code de lancement des tests sur produit */
    tests_liste_produit();
#endif
#ifdef TEST_FACTURATIONFM
    tests_facturationFM();
#endif
    /*etc. Mettre ici autant de elif qu'il le faut pour les tests voulus */

#ifdef MIASTORE

    /*Code de lancement reel de l'application elle-meme */
    printf("Lancement de l'application Miastore...\n");
    menu_principal();
#endif

    return (EXIT_SUCCESS);
}
